<?php

class Libros extends CI_Controller
{
	function __construct(){
        parent::__construct();
        $this->load->helper('generic');
        $this->load->helper(array('form', 'url'));
        $this->load->helper('date');
        $this->load->model('editoriales_model');
        $this->load->model('idiomas_model');
        $this->load->model('instituciones_model');
        $this->load->model('catalogo_model');
        $this->load->model('autores_model');
        $this->load->model('carreras_model');
        $this->load->model('catalogoAutores_model');
        $this->load->model('catalogoCarreras_model');
        $this->load->model('inventario_model');
    }

	public function index()
	{
		$datos['title'] = "Biblioteca Juan Carlos";
        $datos['navBarDerecho'] = imprimirNavBarDerecho();
        $datos['jumbotron'] = "";
        $datos['content'] = $this->load->view('libros/busquedaLibros','',true);
        $this->load->view('master_view',$datos);
	}

	public function BuscarLibro()
    {
        $datos['title'] = "Biblioteca Juan Carlos";
        $datos['navBarDerecho'] = imprimirNavBarDerecho();
        $datos['jumbotron'] = "";
        $datos['CargadorScript'] = "public/js/libros/BuscarLibro.js";
        $datos['editoriales_query'] = $this->editoriales_model->getAll();
        $datos['idiomas_query'] = $this->idiomas_model->getAll();
        $datos['instituciones_query'] = $this->instituciones_model->getAll();
        $datos['autores_query'] = $this->autores_model->getAll();
        $datos['catalogo_query'] = $this->catalogo_model->getAll();
        $datos['carreras_query'] = $this->carreras_model->getAll();

        $datos['content'] = $this->load->view('libros/buscar_libro',$datos,true);
        $this->load->view('master_view',$datos);
    }

    public function pedidoBase(){
     $arr= array();
     $vEnviado = json_decode($this->input->post('Cadena'));

        $editoriales = $this->editoriales_model->getAll();
        $idiomas = $this->idiomas_model->getAll();
        $instituciones = $this->instituciones_model->getAll();
        $autores = $this->autores_model->getAll();
        $carreras = $this->carreras_model->getAll();
        $catalogoAutores = $this->catalogoAutores_model->getAll();
        $catalogoCarreras = $this->catalogoCarreras_model->getAll();
        $inventario = $this->inventario_model->getAll();

        $var ='';
  
       
        switch($vEnviado->motivo){
            case 'All': $catalogos = $this->catalogo_model->getAll();
                        $var ='All'; 
                      break;
            case 'Filtro':   $obj =json_decode($vEnviado->vector);
                             $consulta = '';
                             $this->armarConsulta(' catalogoautores.idAutor ',$obj->autores,$consulta);
                             $this->armarConsulta(' catalogocarreras.idCarrera ',$obj->carreras,$consulta);
                             $this->armarConsulta(' catalogo.idEditorial ',$obj->editorial,$consulta);
                             $this->armarConsulta(' catalogo.idIdioma ',$obj->idioma,$consulta);
                             $this->armarConsulta(' catalogo.idInstitucion ',$obj->institucion,$consulta);
                             $this->armarConsulta(' catalogo.anioEdicion ', $obj->anio,$consulta);
                             $this->armarConsulta(' catalogo.Titulo ',$obj->titulo,$consulta);
                             $catalogos = $this->catalogo_model->getCondicionado($consulta);
                             $var = 'Filtro';
                             break;
        }

       if($catalogos != null){ 
        for($c=0;$c<count($catalogos);$c++){

            $arr[$c]['Titulo'] = $catalogos[$c]['Titulo'];
            $arr[$c]['LugarPublicacion'] = $catalogos[$c]['lugarPublicacion'];
            $arr[$c]['NroEdicion'] = $catalogos[$c]['nroEdicion'];
            $arr[$c]['AnioEdicion'] = $catalogos[$c]['anioEdicion'];
            $arr[$c]['ISBN'] = $catalogos[$c]['ISBN'];
            $arr[$c]['Paginas'] = $catalogos[$c]['paginas'];
            $arr[$c]['Notas'] = $catalogos[$c]['notas'];
            $arr[$c]['FechaAgregado'] = $catalogos[$c]['fechaAgregado'];
            if($catalogos[$c]['incluyeSoftware'] == 1)
                $software ='si';
            else $software ='no';
            $arr[$c]['IncluyeSoftware'] = $software;
            $arr[$c]['Descriptores'] = $catalogos[$c]['descriptores'];

             for($e=0;$e<count($editoriales);$e++){
                if($catalogos[$c]['idEditorial'] == $editoriales[$e]['idEditorial']){
                     $arr[$c]['Editorial'] = $editoriales[$e]['descripcion'];
                     break;
                  }
             }

             for($i=0;$i<count($idiomas);$i++){
                if($catalogos[$c]['idIdioma'] == $idiomas[$i]['idIdioma']){
                    $arr[$c]['Idioma'] = $idiomas[$i]['descripcion'];
                    break;
                }
             }

             for($ins=0;$ins<count($instituciones);$ins++){
                if($catalogos[$c]['idInstitucion'] == $instituciones[$ins]['idInstitucion']){
                    $arr[$c]['Institucion'] = $instituciones[$ins]['descripcion'];
                    break;
                }
             }
             
             $arr[$c]['Autor'] = '';
             for($catAut=0;$catAut<count($catalogoAutores);$catAut++){
                    if($catalogos[$c]['idCatalogo'] == $catalogoAutores[$catAut]['idCatalogo']){
                        for($aut=0;$aut<count($autores);$aut++){
                            if($autores[$aut]['idAutor'] == $catalogoAutores[$catAut]['idAutor']){
                                if($arr[$c]['Autor'] !='')
                                    $arr[$c]['Autor'] .= '-';
                                $arr[$c]['Autor'] .= $autores[$aut]['nombre'].' '.$autores[$aut]['apellido'];
                                break; 
                            }
                        }
                    }
             }

              $arr[$c]['Carrera'] = '';
             for($catCar=0;$catCar<count($catalogoCarreras);$catCar++){
                    if($catalogos[$c]['idCatalogo'] == $catalogoCarreras[$catCar]['idCatalogo']){
                        for($car=0;$car<count($carreras);$car++){
                            if($carreras[$car]['idCarrera'] == $catalogoCarreras[$catCar]['idCarrera']){
                                if($arr[$c]['Carrera'] !='')
                                    $arr[$c]['Carrera'] .= '-';
                                $arr[$c]['Carrera'] .= $carreras[$car]['descripcion'];
                                break; 
                            }
                        }
                    }
             }

             $arr[$c]['CantLibros'] = 0;
             for($inv=0;$inv<count($inventario);$inv++){
                if($catalogos[$c]['idCatalogo'] == $inventario[$inv]['idCatalogo'])
                    $arr[$c]['CantLibros']++;
             }


        }
         echo json_encode($arr);
      }
      else{
        if($var == 'All')
            $texto = 'No existen Registros';
        else $texto = 'No existen Coincidencias';
            echo json_encode(array('texto'=>$texto));
      }

    }

    private function armarConsulta($nomCampo,$campo,&$consulta){ //le pongo private para q no pueda ser accedida por el navegador asi sin mas :P
      if($campo != ''){  

        if($nomCampo == ' catalogoautores.idAutor ')
             $consulta .= ' inner join catalogoAutores on catalogo.idCatalogo = catalogoAutores.idCatalogo';
        if($nomCampo == ' catalogocarreras.idCarrera ')
             $consulta .= ' inner join catalogoCarreras on catalogo.idCatalogo = catalogoCarreras.idCatalogo'; 
        if($consulta == '')
              $consulta .= ' WHERE ';
        else 
              $consulta .= ' AND ';

        switch ($nomCampo) {
            case ' catalogo.idEditorial '      : $consulta .= $nomCampo." = ".$campo;
                break;
            case ' catalogo.idIdioma '         : $consulta .= $nomCampo." = ".$campo;
                break;
            case ' catalogo.idInstitucion '    : $consulta .= $nomCampo." = ".$campo;
                break;
            case ' catalogo.anioEdicion '      : $consulta .= $nomCampo." = '".$campo."'";
                break;
            case ' catalogoautores.idAutor '   : $consulta .= $nomCampo." = ".$campo;
                break;
            case ' catalogocarreras.idCarrera ': $consulta .= $nomCampo." = ".$campo;
                break;
            case ' catalogo.Titulo '           : $consulta .= $nomCampo." LIKE '%".$campo."%'";
                break;
         }
       }
    }

    public function CargarLibro()
    {
        redirectIfNotAdmin();
        $datos['CargadorScript'] = "public/js/libros/CargarLibro.js";
        $datos['title'] = "Cargar Libro";
        $datos['navBarDerecho'] = imprimirNavBarDerecho();
        $datos['jumbotron'] = '';
        $datos['titulos'] = $this->catalogo_model->getAll();
        $datos['content'] = $this->load->view('libros/Cargar_libro',$datos,true);
        $this->load->view('master_view',$datos);
    }
    
    public function insert(){
        $variable = 0;
        $this->inventario_model->idCatalogo = $this->input->post('txtIDlibro');
        $this->inventario_model->nroEstanteria =  $this->input->post('txtNestanteria');
        if($this->input->post('cbEjemplarConsulta') == 'on')
        $variable = 1;
        else $this->inventario_model->ejemplarConsulta = $variable;
        $this->inventario_model->ingreso = $this->input->post('ddlIngreso');
        $this->inventario_model->fechaAgregado = date("Y-m-d H:i:s");
        $this->inventario_model->insert();
        $this->CargarLibro();
    }

    public function UbicarLibro()
    {
        $datos['title'] = "Ubicar_libro";
        $datos['navBarDerecho'] = imprimirNavBarDerecho();
        $datos['jumbotron'] = "";
        $datos['content'] = $this->load->view('libros/Ubicar_libro','',true);
        $this->load->view('master_view',$datos);
    }

    public function HistorialPrestamolibro()
    {
        $datos['title'] = "Historial_prestamo_libro";
        $datos['navBarDerecho'] = imprimirNavBarDerecho();
        $datos['jumbotron'] = "";
        $datos['content'] = $this->load->view('prestamos/Historial_prestamo_libro','',true);
        $this->load->view('master_view',$datos);
    }

    public function HistorialPrestamoId(){
        $datos['title'] = "historial_prestamoid";
        $datos['navBarDerecho'] = imprimirNavBarDerecho();
        $datos['jumbotron'] = "";
        $datos['content'] = $this->load->view('prestamos/historial_prestamoid','',true);
        $this->load->view('master_view',$datos);
    }

    public function Prestamo(){
        $datos['title'] = "Biblioteca Juan Carlos";
        $datos['navBarDerecho'] = imprimirNavBarDerecho();
        $datos['jumbotron'] = "";
        $datos['content'] = $this->load->view('prestamos/Prestamo','',true);
        $this->load->view('master_view',$datos);
    }       
}

?>